Inter-deriving Semantic Artifacts for Object-Oriented Programming
نویسندگان
چکیده
We present a new abstract machine for Abadi and Cardelli’s untyped calculus of objects. What is special about this semantic artifact (i.e., man-made construct) is that is mechanically corresponds to both the reduction semantics (i.e., small-step operational semantics) and the natural semantics (i.e., big-step operational semantics) specified in Abadi and Cardelli’s monograph. This abstract machine therefore embodies the soundness of Abadi and Cardelli’s reduction semantics and natural semantics relative to each other. To move closer to actual implementations, which use environments rather than actual substitutions, we then represent object methods as closures and in the same inter-derivational spirit, we present three new semantic artifacts: a reduction semantics for a version of Abadi and Cardelli’s untyped calculus of objects with explicit substitutions, an environment-based abstract machine, and a natural semantics (i.e., an interpreter) with environments. These three new semantic artifacts mechanically correspond to each other, and furthermore, they are coherent with the previous ones since as we show, the two abstract machines are bisimilar. Overall, though, the significance of these artifacts lies in them not having been designed from scratch and then proved correct: instead, they were mechanically inter-derived. ∗IT-parken, Aabogade 34, DK-8200 Aarhus N, Denmark. Email: {danvy,cnn}@daimi.au.dk
منابع مشابه
Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملOOCOSIM: an object-oriented co-design method for embedded HW-SW systems
data-types or encapsulation: This concept coined in the context of formal verification contains three mechanisms. Encapsulation guarantees that the internal state of objects is hidden to its external users and that it is only accessible through methods defined in an explicit method interface. The classification of objects by types guarantees that all objects instantiated from a particular type ...
متن کاملsimpA-WS: A Simple Agent-Oriented Programming Model & Technology for Developing SOA & Web Services
Service-Oriented Architecture (SOA) is more and more recognised by the industry as the reference blueprint for building inter-operable, distributed enterprise applications based on open standards such as Web Services (WS). In the current state-of-the-art, the programming models for engineering SOA systems proposed by the leading industries are essentially component-based – typically, rooted in ...
متن کاملModelsaz: An Object-Oriented Computer-Aided Modeling Environment
Modeling and simulation of processing plants are widely used in industry. Construction of a mathematical model for a plant is a time-consuming and error-prone task. In light of extensive advancements in computer science (both hardware and software), computers are becoming a necessary instrument in industrial activities. Many software tools for modeling, simulation and optimization of proces...
متن کاملMany-sorted Natural Semantics Speciication and Generation of the Semantic Analysis for Imperative and Object-oriented Programming Languages
We follow the trend to use inference rule based speciications when describing the semantics of imperative and object-oriented programming languages. Within many-sorted natural semantics it is possible to deene the static semantics of imperative and object-oriented programming languages exclusively by using inference rules. During the semantic analysis we need to infer semantic information by us...
متن کامل